This application relates generally to providing video programming to customer premises. More specifically, this application relates to providing video programming to customer premises on demand by customers.
In recent years, there has been steadily increasing consumer demand for video-on-demand programming. In broad terms, “video-on-demand” refers to programming functionality that permits a customer to order a particular video program at his convenience, without the constraint of a predetermined broadcast schedule. Such video-on-demand programs have been available for some time now in settings where the potential number of viewers is relatively small. For example, many hotels now offer a portion of their programming on a video-on-demand basis so that guests may view such programming at their convenience.
Extension of video-on-demand services to large populations has been hampered by the need to ensure availability of the programs to large numbers of customers, many of whom may wish to view the same program near, but not exactly at, the same time. While relatively small numbers of customers may be accommodated by providing a dedicated video stream for each user of the system regardless of whether multiple users are viewing the same content, this approach quickly becomes unmanageable as the number of users increases. Providing such dedicated video streams results in a need to maintain multiple copies of the same content, thereby creating tremendous distribution requirements in the network that services the users. For large distribution systems, such as might be provided by cable-television systems, the resulting complexity has acted as a barrier to widespread implementation of full video-on-demand services. Instead, some implementations have attempted to provide much more limited versions that mimic aspects of video-on-demand services, without providing the full functionality being demanded by consumers.
There is accordingly a need in the art for methods and systems for providing video on demand that avoid these limitations.